
#ifndef _TEAMBOSS_CONFIG_H_
#define _TEAMBOSS_CONFIG_H_

#include <unordered_map>
#include <vector>
#include <list>
#include "base.h"

#include "../../3rd/libjson/json.h"

#include "union_config.h"

class CTeamBossLv
{
public:
	CTeamBossLv()
	{
		level_ = 0;
		monsterid_ = 0;
	}
	~CTeamBossLv() {};
	void LoadFromJson(const Json::Value& bossinfo);
	int32_t level() const { return level_; }
	int32_t monsterid() const { return monsterid_; }

	const CItemTplList& award_kill()const { return award_kill_; }
private:
	int32_t level_;
	int32_t monsterid_;
	CItemTplList award_kill_;	//胜利奖励
};

class CTeamBossCfg
{
public:
	CTeamBossCfg()
	{
		teamboss_config_.clear();
	}
	const CTeamBossLv* Getbossinfo(int32_t level) const;
	const CTeamBossLv* GetDefaultInfo() const;
	void LoadFromJson(const Json::Value& teamboss);
private:
	// 等级，配置关系
	std::unordered_map<int32_t, CTeamBossLv> teamboss_config_;
};

#endif

